package main

import (
	"database/sql"
	"fmt"
	"github.com/pkg/errors"
)

func queryUser() error {
	return errors.Wrap(sql.ErrNoRows, "query err")
}

func call() error {
	return errors.WithMessage(queryUser(), "call err")
}

func main() {
	err := call()
	if errors.Cause(err) == sql.ErrNoRows {
		fmt.Printf("no rows: %+v\n", err)
		return
	}
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("success")
}
